#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <ctime>
using namespace std;
#define N 102
char s[N], m[N][N], h[N], d[N][N][N];
int v[N][N];
int main()
{
	int i, j, k, t, l, n, p, r, x;
	for(scanf("%s%d", s, &n), i=0; i<n; i++)
	{
		for(scanf("%s", m[i]), j=0; j<i && strcmp(m[i], m[j]); j++);
		if(j<i) { i--; n--; }
	}
	for(l=strlen(s), i=0; i<n; h[i]=strlen(m[i]), i++);
	for(i=l-1; i>=0; i--)
		for(j=i; j<l; j++)
		{
			v[j][i]=N;
			for(k=i; k<j; v[j][i]=min(v[j][i], v[k][i]+v[j][k+1]), k++);
			for(k=0; k<n; k++)
			{
				if(l-i<h[k] || s[i]!=m[k][0]) continue;
				if(i==j) d[k][0][j]=0;
				else d[k][0][j]=N;
				for(t=1; t<h[k]; t++)
				{
					r=N;
					if(m[k][t]==s[j])
						for(p=i+t; p<=j; p++)
						{
							x=v[j-1][p]+d[k][t-1][p-1];
							if(x<r) r=x;
						}
					d[k][t][j]=r;
				}
				v[j][i]=min(v[j][i], d[k][h[k]-1][j]+1);
			}
		}
	printf("%d\n", v[l-1][0]);
	return 0;
}